﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <script type="text/javascript">
//        var v = 'mvp';
//        function f1(n1,n2) {
//            n1 = n1 + n2;
//            n2++;
//            return function() {
//                alert(n1);
//                alert(n2);
//            }
//        }
//        var ss = f1(100, 200);//闭包(变量的作用域链)
//        ss();
        //        alert(v)
    </script>
    
    <script type="text/javascript">
//        function f1() {
//            var funs = new Array();
//            for (var i = 0; i < 10; i++) {
//                funs[i] = function () {
//                    alert(i);//在调用时才会闭包所以是10
//                }
//            }
//            return funs;
//        }

//        var myFuns = f1();
//        for (var j = 0; j < myFuns.length; j++) {
//            myFuns[j]();
//        }
    </script>
    
    <script type="text/javascript">
        var theName = 'window name';
        function f1() {
            this.theName = 'f1 name';
            this.rr= function() {
              return   function () {
                    return this.theName;   //this有时候不会逐级找作用域
                }  
            }
        }

        var ss =new f1();
        alert(ss.rr()());
    </script>
    <body>

</body>
</html>
